package com.lupengning.payment.service;

import java.io.IOException;
import java.security.GeneralSecurityException;
import java.util.Map;

/**
 * @author lupengning
 * @version 1.0
 * @description:
 * @date 2021/12/28 9:20
 */
public interface WxPayService {

  Map<String, Object> nativePay(Long productId) throws Exception;

  void processOrder(Map<String, Object> bodyMap) throws GeneralSecurityException;

  void cancelOrder(String orderNo) throws Exception;

  String queryOrder(String orderNo) throws IOException;

  void checkOrderStatus(String orderNo) throws Exception;

  void refund(String orderNo, String reason) throws Exception;

  String queryRefund(String refundNo) throws Exception;

  void checkRefundStatus(String refundNo) throws Exception;

  void processRefund(Map<String, Object> bodyMap) throws Exception;

  String queryBill(String billDate, String type) throws Exception;

  String downloadBill(String billDate, String type) throws Exception;
}
